package cn.shujuhai.meeting.service;

import cn.shujuhai.common.pluging.data.ResultVo;
import cn.shujuhai.meeting.domain.Equipment;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;

/**
 * @author 4g0
 * @description 针对表【equipment】的数据库操作Service
 * @createDate 2025-06-16 10:25:17
 */
public interface EquipmentService extends IService<Equipment> {

    ResultVo<PageInfo<Equipment>> getEquipmentPageInfo(String equipmentName, @NotNull(message = "当前页码不能为空") @Min(value = 1, message = "当前页码必须大于等于1") @Max(value = Integer.MAX_VALUE, message = "当前页码不能超过整型范围") Integer pageNum, @NotNull(message = "每页显示条数不能为空") @Min(value = 1, message = "每页显示条数必须大于等于1") @Max(value = Integer.MAX_VALUE, message = "每页显示条数不能超过整型范围") Integer pageSize, Long roomId);

    ResultVo<?> add(Equipment equipment);

    ResultVo<Equipment> edit(Equipment equipment);

    ResultVo<Equipment> removeId(Integer equipmentId);

    ResultVo<?> equipmentListByRoomId(Long roomId);

    MPJLambdaWrapper<Equipment> getEquipmentListByRoomId(Long roomId);
}
